iT邦幫忙

2022 iThome 鐵人賽

DAY 13
0
DevOps

Azure DevOps進階應用系列 第 13

【Azure DevOps進階應用】Release Pipeline設定審核者與Git Repo權限問題

  • 分享至 

  • xImage
  •  

前一篇快速的建立了CD Release Pipeline,雖然可以被Trigger,不過卻有兩個問題,第一個就是Stage和Production環境都沒有經過人為審核確認可以佈署,直接就開始執行,一路把系統直接上到Stage環境與Production環境…,另外一個就是要Tag source需要將Pipeline執行的服務帳號加到對應的Git Repo權限設定中。

設定Approvals

在Release Pipeline中的每一個Stage階段都可以設定各自的Approvals,它們就放在Deployment conditions的設定裡,並且還分為Pre-deployment conditions與Post-deployment conditions,我們要讓它在被執行前能有Approve的動作,所以就設定在Pre-deployment conditions設定中。

Pre-deployment conditions是在Stage方框的左邊,對應的Post-deployment conditions則是在右邊。啟用Approvals的設定只需要進入conditions設定的畫面中,將Pre-deployment approvals啟用就可以看到更多可以設定的選項。

https://ithelp.ithome.com.tw/upload/images/20220928/20033961v3oaGQKD6v.png

啟用之後在Approvers裡面可以加入單一的使用者,也可以加入一個群組,如果有多個可以按下Approve按鈕的人,將他們加到群組(Team or Group)是比較好的選擇。底下的Timeout設定則是讓系統在多久時間之後沒被Approve就自動取消該Stage的Deploy。

https://ithelp.ithome.com.tw/upload/images/20220928/20033961qd3dbudhvu.png

設定了之後在執行時就可以看到如下圖的畫面多了Approve與Reject的按鈕,必須要按下Approve之後才會真正執行Release中的動作。

https://ithelp.ithome.com.tw/upload/images/20220928/20033961jtyfoF6m4k.png

設定Git Repo權限

Release pipeline執行到Tag source code的task時會碰到TF401027的錯誤訊息,提示Git需要GenericContribute的權限,這部份主要是因為在需要操作的Git Repository沒有設定對應的權限所造成的問題。

https://ithelp.ithome.com.tw/upload/images/20220928/20033961Wo5L3NPgdP.png

要解決這個問題,只要進入專案設定(Project Settings)中對應的Git Repository去設定Security即可,主要確認在Users當中有沒有以組織名稱(Organization)開頭的Build Service帳號,以及Project Collection Build Service,沒有的話就把它們加進去,然後幫它們設定Contribute的權限即可(我這邊是相關操作的三個權限都設Allow)。

https://ithelp.ithome.com.tw/upload/images/20220928/20033961VqyTEkZ47V.png

https://ithelp.ithome.com.tw/upload/images/20220928/20033961n8k89eKJjD.png

設定完成之後再重新執行應該就可以正常了。


上一篇
【Azure DevOps進階應用】基本版-建立CD Release Pipeline
下一篇
【Azure DevOps進階應用】認識Pipeline的運算式與函數
系列文
Azure DevOps進階應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言